package com.hzlj.position.locate.common.enums;

import com.fz.common.base.exception.PubError;
import com.fz.common.base.exception.PubException;
import lombok.Getter;

/**
 * @author lifh
 * @date 2021/11/9 上午11:59
 **/
@Getter
public enum ReportStatus {
    /**
     * 上报状态（0待签到 1未签到 2已签到 3完成签到）
     */
    /**
     * 自动+人工：还未到点验时间（还未发送点验通知）
     */
    _WAIT("0", "/"),
    /**
     * 人脸：当日因签时间段内无签到记录人员
     * 人工+自动：点验失败、或者已经点验成功并还未上报的情况
     */
    _NEVER("1", "未签到"),
    /**
     * 人脸：当日至少已完成一个签到时间段签到人员
     * 人工+自动：在点验时间内完成签到人员
     */
    _SUCCESS("2", "已签到"),
    /**
     * 人脸：当日完成所有时间段签到人员
     */
    _DONE("3", "完成签到"),
    ;

    private final String status;
    private final String statusText;

    ReportStatus(String status, String statusText) {
        this.status = status;
        this.statusText = statusText;
    }

    public static ReportStatus of(String status) {
        for (ReportStatus reportStatus : values()) {
            if (reportStatus.getStatus().equals(status)) {
                return reportStatus;
            }
        }
        throw new PubException(PubError.PARAM_EMPTY_ERROR);
    }
}
